home *** CD-ROM | disk | FTP | other *** search
- import java.io.DataInputStream;
- import javax.microedition.io.Connector;
- import javax.microedition.io.HttpConnection;
- import javax.microedition.lcdui.Image;
-
- public class Tools {
- public static int GetTokenQuickPos = -1;
- public static int ColorStackLevel = 16;
- public static int[] ColorStack;
- public static int ColorStackIndex;
- public static int HistoryLevel;
- public static String[] HistoryStack;
- public static int HistoryIndex;
-
- public static int toInt(String var0) {
- int var1 = 0;
-
- try {
- var1 = Integer.parseInt(var0);
- } catch (Exception var3) {
- }
-
- return var1;
- }
-
- public static String GetTokenZ(String var0, int var1, char var2, boolean var3) {
- int var4 = 0;
- int var5 = -1;
- int var6 = 1;
- if (var3 && var1 > 1) {
- var5 = GetTokenQuickPos;
- var6 = var1 - 1;
- }
-
- while(true) {
- if (var3) {
- GetTokenQuickPos = var5;
- }
-
- var4 = var0.indexOf(var2, var5 + 1);
- if (var1 == var6) {
- if (var4 != -1) {
- return var0.substring(var5 + 1, var4);
- }
-
- return var0.substring(var5 + 1, var0.length());
- }
-
- if (var4 == -1) {
- return null;
- }
-
- ++var6;
- var5 = var4;
- }
- }
-
- public static String GetTokenY(String var0, int var1, char var2) {
- return GetTokenZ(var0, var1, var2, false);
- }
-
- public static String GetTokenX(String var0, int var1, char var2) {
- String var3 = GetTokenY(var0, var1, var2);
- if (var3 == null) {
- var3 = "";
- }
-
- return var3;
- }
-
- public static String GetToken(String var0, int var1) {
- return GetTokenX(var0, var1, '@');
- }
-
- public static String RepStringX(String var0, String var1, String var2, boolean var3) {
- String var6 = "";
- if (var0 != null && var1 != null && var2 != null) {
- int var7;
- String var10;
- if (var3) {
- for(String var8 = var1.toLowerCase(); (var7 = var0.toLowerCase().indexOf(var8)) != -1; var0 = var10) {
- String var9 = var0.substring(0, var7);
- var10 = var0.substring(var7 + var8.length());
- var6 = var6 + var9 + var2;
- }
- } else {
- while((var7 = var0.indexOf(var1)) != -1) {
- String var4 = var0.substring(0, var7);
- var10 = var0.substring(var7 + var1.length());
- var6 = var6 + var4 + var2;
- var0 = var10;
- }
- }
-
- return var6 + var0;
- } else {
- return var0;
- }
- }
-
- public static String RepString(String var0, String var1, String var2) {
- return RepStringX(var0, var1, var2, false);
- }
-
- public static int GetColor(String var0) {
- if (var0 == null) {
- return 16777215;
- } else {
- var0 = var0.toLowerCase();
- if (var0.equals("black")) {
- return 0;
- } else if (var0.equals("blue")) {
- return 4095;
- } else if (var0.equals("cyan")) {
- return 65535;
- } else if (var0.equals("gray")) {
- return 8421504;
- } else if (var0.equals("green")) {
- return 65280;
- } else if (var0.equals("magenta")) {
- return 16711935;
- } else if (var0.equals("red")) {
- return 16711680;
- } else if (var0.equals("white")) {
- return 16777215;
- } else if (var0.equals("yellow")) {
- return 16776960;
- } else {
- if (var0.startsWith("#") && var0.length() > 1) {
- var0 = var0.substring(1);
- }
-
- if (var0.startsWith("0x") && var0.length() > 2) {
- var0 = var0.substring(2);
- }
-
- try {
- return Integer.parseInt(var0, 16);
- } catch (Exception var2) {
- return 16777215;
- }
- }
- }
- }
-
- public static void initColorStack() {
- ColorStackIndex = -1;
- }
-
- public static void pushColorStack(int var0) {
- if (ColorStackIndex + 1 < ColorStackLevel) {
- ++ColorStackIndex;
- ColorStack[ColorStackIndex] = var0;
- }
-
- }
-
- public static int popColorStack() {
- int var0 = ColorStack[ColorStackIndex];
- if (ColorStackIndex > 0) {
- --ColorStackIndex;
- }
-
- return var0;
- }
-
- public static void initHistoryStack() {
- HistoryIndex = -1;
- }
-
- public static void pushHistoryStack(String var0) {
- if (var0.indexOf(63) == -1) {
- if (HistoryIndex < 0 || !var0.equals(HistoryStack[HistoryIndex])) {
- if (HistoryIndex + 1 < HistoryLevel) {
- ++HistoryIndex;
- HistoryStack[HistoryIndex] = var0;
- }
-
- }
- }
- }
-
- public static String popHistoryStack() {
- String var0 = HistoryStack[HistoryIndex];
- if (HistoryIndex > 0) {
- --HistoryIndex;
- }
-
- return var0;
- }
-
- public static String GetURLBase(String var0) {
- String var1 = var0;
- if (var0 == null) {
- return "";
- } else {
- if (!var0.startsWith("http://")) {
- var1 = "http://" + var0;
- }
-
- int var2 = var1.length();
-
- int var3;
- for(var3 = var2 - 1; var3 >= 0 && var1.charAt(var3) != '/' && var1.charAt(var3) != '\\'; --var3) {
- }
-
- var1 = var1.substring(0, var3 + 1);
- if (var1.equals("http://")) {
- var1 = var0 + "/";
- }
-
- return var1;
- }
- }
-
- public static String GetURLRoot(String var0) {
- if (var0 == null) {
- return "";
- } else {
- if (var0.startsWith("http://")) {
- var0 = var0.substring(7);
- }
-
- int var1 = var0.length();
- if (var1 == 0) {
- return "";
- } else {
- int var2;
- for(var2 = 0; var2 < var1 && var0.charAt(var2) != '/' && var0.charAt(var2) != '\\'; ++var2) {
- }
-
- if (var2 < var1) {
- var0 = var0.substring(0, var2 + 1);
- } else {
- var0 = var0 + "/";
- }
-
- return "http://" + var0;
- }
- }
- }
-
- public static Image CreateGifImage(byte[] var0) {
- try {
- GifDecoder var1 = new GifDecoder(var0);
-
- Image var2;
- for(var2 = null; var1.moreFrames(); var1.nextFrame()) {
- try {
- var2 = var1.decodeImage();
- if (HTMLStream.GF != null && var2 != null) {
- HTMLStream.GF.addImage(var2);
- }
- } catch (Exception var4) {
- break;
- }
- }
-
- var1.clear();
- Object var6 = null;
- if (HTMLStream.GF != null && HTMLStream.GF.size() > 1) {
- var2 = HTMLStream.GF.getImage();
- }
-
- return var2;
- } catch (Exception var5) {
- return null;
- }
- }
-
- public static Image LoadHtmlImage(String var0) {
- var0 = RepStringX(var0, ".jpg", ".png", true);
- Object var1 = null;
- Runtime.getRuntime().gc();
- if (var0.toLowerCase().endsWith(".png")) {
- try {
- int var15;
- byte[] var17;
- if ((var17 = CellHtml.cachepool.getCache(var0)) == null) {
- HttpConnection var11 = (HttpConnection)Connector.open(var0);
- if (var11.getResponseCode() != 200) {
- var11.close();
- Object var13 = null;
- throw new Exception();
- }
-
- var15 = (int)var11.getLength();
- var17 = new byte[var15];
- DataInputStream var20 = var11.openDataInputStream();
- var20.readFully(var17);
- var20.close();
- var11.close();
- Object var12 = null;
- if (var0.indexOf(63) == -1) {
- CellHtml.cachepool.setCache(var0, var17);
- }
- } else {
- var15 = var17.length;
- }
-
- Image var21 = Image.createImage(var17, 0, var15);
- Object var18 = null;
- return var21;
- } catch (Exception var5) {
- return null;
- }
- } else if (var0.toLowerCase().endsWith(".gif")) {
- try {
- byte[] var3;
- if ((var3 = CellHtml.cachepool.getCache(var0)) == null) {
- HttpConnection var8 = (HttpConnection)Connector.open(var0);
- if (var8.getResponseCode() != 200) {
- var8.close();
- Object var10 = null;
- throw new Exception();
- }
-
- int var2 = (int)var8.getLength();
- var3 = new byte[var2];
- DataInputStream var4 = var8.openDataInputStream();
- var4.readFully(var3);
- var4.close();
- var8.close();
- Object var9 = null;
- if (var0.indexOf(63) == -1) {
- CellHtml.cachepool.setCache(var0, var3);
- }
- } else {
- int var14 = var3.length;
- }
-
- Image var19 = CreateGifImage(var3);
- Object var16 = null;
- return var19;
- } catch (Exception var6) {
- return null;
- }
- } else {
- return null;
- }
- }
-
- public static String cutString(String var0, int var1) {
- for(int var2 = var0.length(); MapCanvas.strWidth(var0) > var1; var0 = var0.substring(0, var2)) {
- --var2;
- if (var2 == 0) {
- var0 = "";
- break;
- }
- }
-
- return var0;
- }
-
- static {
- ColorStack = new int[ColorStackLevel];
- ColorStackIndex = -1;
- HistoryLevel = 16;
- HistoryStack = new String[HistoryLevel];
- HistoryIndex = -1;
- }
- }
-